#!/bin/bash

# 检查内核是否支持IMA
if ! grep -q "^CONFIG_IMA=y" /boot/config-$(uname -r) 2>/dev/null; then
    echo "当前内核不支持IMA子系统，需要重新编译内核或使用支持IMA的内核"
    exit 1
fi

# 检查IMA是否已启用
if grep -q "ima=on" /proc/cmdline; then
    echo "IMA子系统已经启用"
    exit 0
fi

# 备份GRUB配置
if ! cp /etc/default/grub /etc/default/grub.bak; then
    echo "无法备份GRUB配置文件"
    exit 1
fi

# 在GRUB_CMDLINE_LINUX中添加ima=on参数
if grep -q "GRUB_CMDLINE_LINUX=" /etc/default/grub; then
    sudo sed -i 's/GRUB_CMDLINE_LINUX="[^"]*/& ima=on/' /etc/default/grub
else
    echo 'GRUB_CMDLINE_LINUX="ima=on"' >> /etc/default/grub
fi

# 更新GRUB配置
grub2-mkconfig -o /boot/grub2/grub.cfg

echo "IMA子系统已配置启用，需要重启系统生效"
echo "请运行: sudo reboot"

